Paint Operator

 

image141.gif

thinkingParticles offers an advanced function in the Paint Operator that lets you paint on other objects with particles. Each impact of a particle on an object’s surface will create a color splash or other material effect. This collision detection is face-accurate and it will be calculated whenever the ON input data stream receives a True condition, or continually, if nothing is piped into the ON stream. In order to paint on the surface of an object, you will use a special TP_TexMap texture map to do the job. This texture map is specifically designed to paint on the object's surface when a particle collides with it.

Keep in mind that collision detection can be a very time consuming effect and the processing time increases by the square of the increased number of faces and particles.



 
 
 
 
Operator Inputs 

ON - (Bool) This input data stream determines whether the operator is considered 'on' or 'off.' You can connect other operators to this input channel such as a Bool Helper to activate/deactivate the whole operator.

Time
- (Time) This input data stream is used to define the local time for the operator when the user wants to override the default system time.

Particle
- (Particle) This input data stream reads in the currently selected particle group to be used when painting the collision object. The data stream MUST be connected and will be highlighted yellow if it is not.

Operator Outputs 

Time - (Time) This output data stream sends out the time value

Position
- (Position) This output data stream sends the position data for all of the collision paint points.

Alignment
- (Alignment) This output data stream sends out the alignment data for all of the particles that collide and paint on the surface.

Collision Velocity
- (Velocity) This output data stream sends out the velocity of the particles that collide and paint on the selected surface.

Blend Intensity
- (Intensity) This output data stream defines how much the map is blended (value 0-1). This depends also on the gradient and blending time.

Rollout Menu 

image142.gif

Pick Object
- Activate this button and select the object from your scene that you want to be painted by particle impacts.

Select TP_Texmap
- Click this button to open the standard Material/Map browser and select the TP_Texmap texture map type with which you want to paint the object as particles impact its surface. This button can also act as a Drag and Drop receiver for any TP_Texmap map.

Scale
- This spinner's value sets the size of the map that should be drawn at each particle impact point on the selected object’s surface.

It is important to note that the scale value is assigned in world units.


 
 

Scale Time - This spinner sets the time in frames the TP_Texmap map needs to get to its full size as set in the Scale spinner. By default, the TP_Texmap is applied at the Scale value set above, and appears to pop onto the surface. While a Scale Time of 0 can be good for effects like bullet hits, it may not always be appropriate. For other effects like raindrops, increase the Scale Time to give a more natural scaling effect as the size is increased over the number of frames set in this spinner.

The gradient below the Scale Time spinner controls the scale timing. The left-hand edge of the gradient represents the start size and the right hand edge represents the end size of the map as set in the Scale spinner. A white color in this gradient means a map size as it is set in Scale while a black color in the gradient means a zero map size. Intermediate gray values create intermediate sizes throughout the scaling process.

Blend Time
- This spinner controls the time in frames that it takes until the TP_Texmap map is fully visible. This feature works like alpha channel compositing with standard bitmaps.

The gradient below the Blend Time spinner controls the blend timing. The left-hand edge of the gradient represents the start blend value and the right hand edge represents the end blending of the map as set in the Blend Time spinner. A white color in this gradient means a map blending is fully visible while a black color in the gradient means the map is completely transparent. Intermediate gray values create intermediate blending values throughout when a collision paint event occurs.

Remove Time
- This spinner controls the time in frames that it takes until the TP_Texmap map is removed from the surface entirely.

Mapping Source 

To control how the map is painted on the object’s surface, choose one of the following settings:

Original
- Use this option to make each particle impact remove a bit of the original map by revealing the “underlying paint” assigned to the TP_Texmap operator. Be aware that these impacts may be very small to begin with and you may need to set the Scale parameter higher in order to see them.

When you have more than one map in the TP_Texmap map, they are cycled when impacts are generated.



 
 

UVW - This option uses the UVW mapping channel selected below and the Scale factor of the map to place the particle paint on the selected object’s surface.

3D Planar
- Each impact of a particle on the object’s surface is accurately calculated. With this option checked, the map is applied depending on the point of impact and the surface orientation (normal). It’s like planar mapping as seen from the point of impact.

3D
- When this option is chosen, a procedural map is assigned based on the 3D UV information of the selected object. The system takes the collision point with its XYZ values and moves the map to it. When you use a standard bitmap, you won't see any difference in how the mapping is handled as it ONLY works with 3D procedural maps.

Make sure you understand that UVW space is a 0.0 to 1.0 space and so the Scale parameter must be adjusted accordingly to get the results you expect. For all other options the map scale is dependent on world units- it’s the actual size of the object that sets the dimensions.



 
 
 



Another thing to note is the use of the Material ID by the Paint Operator. Usually, all of the faces with the same Material ID will get the same map drawn by any particle impact. If you see the same map appearing on multiple sides of an object it’s because those faces use the same Material ID. Use 3D or 3D Planar to prevent this from happening.



 
 

 

 

Ignore Material ID checkbox - When this checkbox is active, the painted map can "splash" over different material IDs.

Falloff Blend 

This set of options controls how the painted impact map is blended into the original map of the object. In most cases you do not want to have a crisp rectangular map appearing when a particle hits the surface. To control this and get smooth blending towards the edges of the map, choose one of the options listed below.

None
- Select this option when you do not want to fade the impact map towards the edges.

Rectangle
- Activate this option to get a rectangular blend towards the edges of the map.

Radial
- Use this option to create a circular blend from the center to the outer edges of the map.

Gradient -
The Falloff gradient controls the blending from the center to the outer edges of the map. A white color in the gradient makes the map opaque and a black color in the gradient makes the map fully transparent. Each position in the gradient represents a relevant position in the map with the left-hand side of the gradient representing the center of the map and the right-hand side of the gradient representing as the outer edge of the map.

Collision 

Front - Select this option when you want the particle impact detection to work on the facing surfaces to the particles.

Back
- Select this option when you want the particle impact detection to work on the backside surfaces to the particles.

Two
- Select this option when you want the particle impact detection to work on both the facing and backside surfaces to the particles.

Collision Offset
- thinkingParticles uses advanced techniques to calculate the exact point of impact on the object’s surface. Each particle that hits or crosses the surface of an object creates a color change or map change at the exact point of impact. However, you can also use a feature that creates a collision before the actual collision will happen. This is done by using an offset to the particle. There are three options to choose from.

None
- Check this option to get the most accurate results for plain particle collisions.

Particle
- Use this option when you want to use the particle size as an indicator for collisions.

Value
- Check this option and set any size that should be used to calculate a collision event.

Color
- Any color set in this color swatch will be used to paint on the object’s surface when there is no map chosen.